#include <bits/stdc++.h>

using namespace std;

int n;
char s[4][30];
bool hasvis[30];
int ans[30];
bool yz(){
        int t=0;
        for(int j=n;j>=1;j--){
            int tt=ans[s[1][j]-'A'+1]+ans[s[2][j]-'A'+1]+t;
            t=0;
            if(tt>=n)t++;
            if(tt%n==ans[s[3][j]-'A'+1])continue;
            else return false;
        }
        return true;
}
void dfs(int f){
    if(f>n) {
        if(yz())
        {
            for(int i = 1;i<=n;i++)cout<<ans[i]<<' ';
            system(0);
        }
        return;
    }
    for(int i = 0;i<n;i++){
        if(!hasvis[i])
            {
                ans[f] = i;
                hasvis[i] = 1;
                dfs(f+1);
                hasvis[i] = 0;
            }

    }
}
int main()
{
    cin>>n;
    for(int i=1;i<=3;i++){
        for(int j=1;j<=n;j++){
            cin>>s[i][j];
        }
    }
    dfs(1);
    return 0;
}
